<?php

$basePath = ROOT . DS;
if (!empty($APP_DIR)) {
    $basePath .= APP_DIR . DS;
}

require_once(ROOT . DS . APP_DIR . DS . 'Vendor' . DS . 'wideimage' . DS . 'WideImage.php');

class MidiasController extends AppController {

  var $name = 'Midias';
  var $layout = 'admin';  

  var $permissao = array(
    'admin' => array('admin_add', 'admin_listar', 'admin_delete')
  );

  function admin_listar($produto_id) {
	$this->layout = false;
    $this->set('midias', $this->Midia->find('all', array('conditions' => array('produto_id' => $produto_id))));
    $this->set('produto_id', $produto_id);
  }
  
  function admin_ajaxlistar($produto_id) {
	$this->layout = false;
    $this->set('midias', $this->Midia->find('all', array('conditions' => array('produto_id' => $produto_id))));
    $this->set('produto_id', $produto_id);
  }

  function admin_add($produto_id = null) {
    if (!empty($this->data) && is_uploaded_file($this->data['Midia']['imagem']['tmp_name'])) {
      $file = $this->data['Midia']['imagem'];
	  $produto_id = $this->data['Midia']['produto_id'];
      $ext = end(explode('.', $file['name']));
	  
	  $numero = $this->Midia->find('count', array('conditions' => array('produto_id' => $produto_id)));
	  
	  $nome = 'pic'.($numero+1).'-'.$produto_id.'-'.date("ymdHis").'.'.$ext;

      move_uploaded_file($file['tmp_name'], WWW_ROOT . "img" . DS . $nome);

      if($this->data['Midia']['ic_capa'] == 1){
        $this->Midia->updateAll(
          array('Midia.ic_capa' => 0),
          array('Midia.ic_capa' => 1, 'Midia.produto_id' => $this->data['Midia']['produto_id'])
        );
      }

      $data['Midia']['nome'] = $nome;
      //$data['Midia']['tipo'] = $file['type'];
      $data['Midia']['tamanho'] = $file['size'];
      $data['Midia']['extensao'] = $ext;
      $data['Midia']['ic_capa'] = ($numero == 0)?true:$this->data['Midia']['ic_capa'];
      $data['Midia']['produto_id'] = $produto_id;

      if ($this->Midia->save($data)) {
        $this->Session->setFlash('Imagem salva com sucesso.', 'sucesso');
        $wideimage = new WideImage();
        $wideimage::load(WWW_ROOT . "img" . DS . $nome)->resize(250, 250)->saveToFile(WWW_ROOT . "img" . DS . 'thumb-'.$nome);
        $this->redirect(array('action' => 'ajaxlistar', $this->data['Midia']['produto_id']));
      }
    } else {
      $this->set('produto_id', $produto_id);
    }
  }

  function admin_delete($id) {
    $this->Midia->id = $id;
    $midia = $this->Midia->read();
    if($midia['Midia']['ic_capa']){
      $this->Midia->query('UPDATE midias SET ic_capa = 1 WHERE id != '.$id.' AND produto_id = '.$midia['Midia']['produto_id'].' LIMIT 1');
    }
    $this->Midia->delete($id);
    $this->Session->setFlash('A imagem apagada com sucesso', "sucesso");
    $this->redirect(array('action'=>'ajaxlistar',$midia['Midia']['produto_id']));
  }

  function admin_definir_capa($midia_id){
    $this->Midia->id = $midia_id;
    $midia = $this->Midia->read();

    $this->Midia->updateAll(
      array('Midia.ic_capa' => 0),
      array('Midia.ic_capa' => 1, 'Midia.produto_id' => $midia['Midia']['produto_id'])
    );

    $midia['Midia']['ic_capa'] = 1;

    if($this->Midia->save($midia)){
      $this->Session->setFlash('Capa definida com sucesso', "sucesso");
      $this->redirect(array('action'=>'ajaxlistar', $midia['Midia']['produto_id']));
    }
  }

}
?>
